package com.SpotBerryServer.java;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.google.appengine.repackaged.com.google.protobuf.TextFormat.ParseException;
import com.google.appengine.repackaged.org.joda.time.DateTime;

import com.SpotBerryServer.dao.Dao;
/**
 * Clase que define los metodos de para crear Ubicaciones por metodos http post y get
 * @author caracas
 *
 */
@SuppressWarnings("serial")
public class ServletCreateTodo extends HttpServlet {
	/**
	 * Metodo que se invoca cuando el servlet recibe un post
	 */
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws IOException {
		System.out.println("Creating new Ubicacion ");
		String pin = checkNull(req.getParameter("pin"));
		String lat = checkNull(req.getParameter("latitude"));
		String longi = checkNull(req.getParameter("longitude"));
		Date fecha = new Date();
		Dao.INSTANCE.add(pin, lat, longi, fecha);
	}
	/**
	 * Metodo que se invoca cuando el servlet recibe un Get en su site /new
	 */
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws IOException {
		System.out.println("Creating new Ubicacion ");
		String pin = checkNull(req.getParameter("pin"));
		String lat = checkNull(req.getParameter("latitude"));
		String longi = checkNull(req.getParameter("longitude"));
		Date fecha = new Date();
		Dao.INSTANCE.add(pin, lat, longi, fecha);
		resp.sendRedirect("/");
	}
	/**
	 * verifica si el string es distinto de null
	 * si es null es retornado un string vacio
	 * @param s
	 * @return string vacio, o el contenido del string
	 */
	private String checkNull(String s) {
		if (s == null) {
			return "";
		}
		return s;
	}
}
